package Testing;

import java.util.Random;

public class Test9 {
    public static void main(String[] args) {
        /*
        抽奖的实现方式：
        需求：大V直播抽奖，奖品是现金红包，分别有{2，588，888，1000，10000}五个奖金
        使用代码模拟抽奖，打印每一个奖项，奖项出现要随机且不重复
        打印效果如下：（不一定是这个顺序，顺序随机）
        888元的奖金被抽出
        2元的奖金被抽出
        588元的奖金被抽出
        1000元的奖金被抽出
        10000元的奖金被抽出
         */
        //1.定义一个数组来存储奖池
        int [ ] arr={2,588,888,1000,10000};
        //2.定义一个新的数组用来储存抽奖的结果
        int [ ] newArr=new int [arr.length];
        //3.开始抽奖
        Random r=new Random() ;
        //因为有5个奖项，所以这里循环5次
        for (int i = 0; i < 5; ) {
            int randomIndex=r.nextInt(arr.length) ;  //随机数这里必须填数字表示范围0~该数字-1
           int prize=arr[randomIndex];
           //判断当前奖项是否存在
            boolean flag=remains(newArr,prize );
            if(!flag){
                newArr[i]=prize;
                //添加完毕之后才会移动索引
                i++;
            }
        }

        for (int i = 0; i < newArr.length ; i++) {

            System.out.print(newArr[i]+" ");
            //1000 888 2 588 10000
            //888 1000 2 10000 588
        }

    }
    //定义一个方法来判断抽出的奖项是否已经被抽过
    public static boolean remains(int []arr,int prize){
        for (int i = 0; i < arr.length; i++) {
            if(prize==arr[i]){
                return true;
            }
        }
        return false;
    }
}
